<?xml version="1.0"?>
<component name="org.nuxeo.ecm.platform.routing.actions.override">

  <require>org.nuxeo.ecm.platform.routing.actions</require>

  <extension point="actions" target="org.nuxeo.ecm.platform.actions.ActionService">
    <action id="TAB_CONTENT">
      <filter-id>isNotRoute</filter-id>
    </action>

    <action icon="/icons/file.gif" id="TAB_DOCUMENT_ROUTE_CONTENT" label="action.view.content" link="/incl/tabs/document_route_content.xhtml" order="10" type="rest_document_link">
      <category>TAB_MANAGE_sub_tab</category>
      <filter-id>isRoute</filter-id>
    </action>

    <action icon="/icons/file.gif" id="TAB_DOCUMENT_ROUTE_ELEMENTS" label="action.view.document.routing.elements" link="/incl/tabs/document_route_content_elements.xhtml" order="10" type="rest_document_link">
      <category>VIEW_ACTION_LIST</category>
      <filter-id>isRoute</filter-id>
    </action>

    <action id="CANCEL_RELATED_ROUTE" label="label.document.routing.cancel.route" link="#{routingActions.cancelRoute()}" order="10">
      <category>ATTACHED_ROUTE_LIST</category>
      <filter-id>hasRelatedRouteStarted</filter-id>
      <filter-id>isEditableRoute</filter-id>
    </action>

    <action id="SAVE_ATTACHED_ROUTE_AS_NEW_INSTANCE" label="label.document.routing.saveAsNew" link="#{routingActions.saveRouteAsNewInstance()}" order="10">
      <category>ATTACHED_ROUTE_LIST</category>
      <filter-id>hasRelatedRouteStarted</filter-id>
    </action>

    <!-- TODO this action should not be seen globally
      <action id="SAVE_SELECTED_ROUTE_AS_NEW_INSTANCE"
      link="#{routingActions.saveSelectedRouteAsNewInstance()}" order="50"
      label="label.document.routing.saveAsNew">
      <category>CURRENT_SELECTION_LIST</category>
      <filter id="canDuplicateRouteInstance">
      <rule grant="true">
      <condition>#{routingActions.getCanDuplicateRouteInstance()}
      </condition>
      </rule>
      </filter>
      </action>
    -->

    <!-- TODO this action should not be seen globally
      <action id="SAVE_ROUTE_AS_NEW_INSTANCE" link="#{routingActions.saveRouteAsNewInstance()}"
      order="20" label="label.document.routing.saveAsNew">
      <category>SUBVIEW_UPPER_LIST</category>
      <category>ROUTE_LIST</category>
      <filter-id>isRoute</filter-id>
      </action>
    -->

    <action id="VALIDATE_ROUTE" label="action.validate.document.routing.model" link="#{routingActions.validateRouteModel()}" order="10">
      <category>ROUTE_LIST</category>
      <filter-id>isDraftRouteModel</filter-id>
      <filter id="canValidateRoute">
        <rule grant="true">
          <condition>#{routeSecurityChecker.canValidateRoute(currentDocument)}
          </condition>
        </rule>
      </filter>
    </action>

    <action id="newDocument">
      <filter-id>create</filter-id>
      <filter-id>isNotDraftRouteModel</filter-id>
    </action>

    <!-- 'Workflow' tab when a document route is running -->
    <!--
      <action id="TAB_ROUTE_WORKFLOW" enabled="true"
      link="/incl/tabs/route_workflow.xhtml" label="action.view.review"
      icon="/icons/file.gif" order="60">
      <category>VIEW_ACTION_LIST</category>
      <filter-id>isRoutable</filter-id>
      <filter id="TAB_ROUTE_WORKFLOW_has_subtabs">
      <rule grant="false">
      <condition>
      #{webActions.getActionsList('TAB_ROUTE_WORKFLOW_sub_tab').isEmpty()}
      </condition>
      </rule>
      </filter>
      </action> -->

    <!-- 'Workflow' sub tab: current route -->
    <action enabled="true" id="TAB_ROUTE_WORKFLOW" label="action.view.review" link="/incl/tabs/current_route.xhtml" order="60" type="rest_document_link">
      <category>VIEW_ACTION_LIST</category>
      <filter-id>hasRelatedRouteStarted</filter-id>
    </action>

    <action id="reassignTask" label="label.workflow.task.reassign" order="100" type="fancybox">
      <category>TASK_ADDITIONAL_ACTIONS</category>
      <properties>
        <property name="include">/incl/tasks/task_reassignment_box.xhtml</property>
        <property name="autoDimensions">true</property>
        <property name="modal">true</property>
        <property name="scrolling">auto</property>
        <property name="ajaxSupport">true</property>
      </properties>
    </action>

    <action id="delegateTask" label="label.workflow.task.delegation" order="110" type="fancybox">
      <category>TASK_ADDITIONAL_ACTIONS</category>
      <properties>
        <property name="include">/incl/tasks/task_delegation_box.xhtml</property>
        <property name="autoDimensions">true</property>
        <property name="modal">true</property>
        <property name="scrolling">auto</property>
        <property name="ajaxSupport">true</property>
      </properties>
    </action>

    <action icon="/icons/refresh.png" id="current_route_refresh_tasks" label="label.refresh" link="#{taskActions.resetCache()}" order="100">
      <category>CURRENT_ROUTE_PANEL_TOP</category>
      <properties>
        <property name="ajaxSupport">true</property>
        <property name="addForm">true</property>
        <property name="useAjaxForm">true</property>
        <property name="styleClass">button</property>
        <property name="ajaxReRender">
          currentRoutePanelLeft
        </property>
      </properties>
    </action>

  </extension>

</component>
